package com.module.boots.api.utils;

import com.module.boots.api.constant.ApiConstant;
import com.module.boots.api.message.ResponseMsg;

/**
 * 消息工具类
 * @author：溪云阁
 * @date：2020年5月2日
 */
public class MsgUtils {

    /**
     * 构建成功的信息
     * @author 溪云阁
     * @param data 返回的实体
     * @return ResponseMsg<T>
     */
    public static <T> ResponseMsg<T> buildSuccessMsg(T data) {
        return new ResponseMsg<>(ApiConstant.SUCCESS_STATUS, ApiConstant.SUCCESS_DESC, data);
    }

    /**
     * 构建错误的信息
     * @author 溪云阁
     * @param respDesc 错误的信息
     * @return ResponseMsg<T>
     */
    public static <T> ResponseMsg<T> buildFailureMsg(Object respDesc) {
        return new ResponseMsg<>(ApiConstant.FAILURE_STATUS, respDesc, null);
    }

    /**
     * 构建默认的成功信息
     * @author 溪云阁
     * @return ResponseMsg<T>
     */
    public static <T> ResponseMsg<T> buildSuccessMsg() {
        return new ResponseMsg<>(ApiConstant.SUCCESS_STATUS, ApiConstant.SUCCESS_DESC, null);
    }

    /**
     * 构建默认的错误信息
     * @author 溪云阁
     * @return ResponseMsg<T>
     */
    public static <T> ResponseMsg<T> buildFailureMsg() {
        return new ResponseMsg<>(ApiConstant.FAILURE_STATUS, ApiConstant.FAILURE_DESC, null);
    }
}
